package com.hina.rec.endpoint.res.system;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hina.rec.endpoint.res.base.BaseRes;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户响应对象
 *
 * @author liaosp
 * @date 2024-01-10
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "用户响应对象")
public class UserRes extends BaseRes {

    /**
     * 用户名
     */
    @Schema(description = "用户名")
    private String username;

    /**
     * 真实姓名
     */
    @Schema(description = "真实姓名")
    private String realName;

    /**
     * 电子邮箱
     */
    @Schema(description = "电子邮箱")
    private String email;

    /**
     * 联系电话
     */
    @Schema(description = "联系电话")
    private String phone;

    /**
     * 头像URL或路径
     */
    @Schema(description = "头像URL或路径")
    private String avatar;

    /**
     * 最后登录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "最后登录时间")
    private LocalDateTime lastLoginTime;

    /**
     * 用户状态：0=禁用，1=启用
     */
    @Schema(description = "用户状态：0=禁用，1=启用")
    private Boolean status;

    /**
     * 备注信息
     */
    @Schema(description = "备注信息")
    private String remark;

    @Schema(description = "角色ID列表")
    private List<Integer>roleIds;
}